export default {
  // 版本检测
  checkVersion() {
    //判断微信版本是否 兼容小程序更新机制API的使用
    if (wx.canIUse('getUpdateManager')) {
      //创建 UpdateManager 实例
      const updateManager = wx.getUpdateManager()
      //检测版本更新
      updateManager.onCheckForUpdate((res) => {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          //监听小程序有版本更新事件
          updateManager.onUpdateReady(() => {
            //  新的版本已经下载好，调用 applyUpdate 应用新版本并重启 （ 此处进行了自动更新操作）
            updateManager.applyUpdate()
          })
          updateManager.onUpdateFailed(() => {
            // 新版本下载失败
            wx.showModal({
              title: '已经有新版本喽~',
              content: '请您删除当前小程序，到微信 “发现-小程序” 页，重新搜索打开哦~',
            })
          })
        }
      })
    } else {
      //  此时微信版本太低（一般而言版本都是支持的）
      wx.showModal({
        title: '溫馨提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  // 随机字符串
  randomString(length) {
    length = length || 32
    let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    let str = ''
    for (let i = 0; i < length; i++) str += t.charAt(Math.floor(Math.random() * t.length))
    return str
  },
  // 反转字符串
  reverseString(str) {
    return str.split('').reverse().join('')
  },
  // 格式化人民币
  fmtMoneyString(coin) {
    let yuan = coin / 100
    if (parseInt(yuan) * 100 < coin) {
      let s = yuan.toFixed(2)
      if (yuan.toFixed(2).endsWith('0')) {
        return yuan.toFixed(1)
      }
      return s
    } else {
      return yuan.toFixed(0)
    }
  },
  // 格式化公里
  fmtKilometreString(meter) {
    let km = meter / 1000
    if (parseInt(km) * 1000 < meter) {
      let s = km.toFixed(2)
      if (km.toFixed(2).endsWith('0')) {
        return km.toFixed(1)
      }
      return s
    } else {
      return km.toFixed(0)
    }
  },
  // 格式化百分比
  fmtPercentString(permil) {
    let per = permil / 10
    if (parseInt(per) * 10 < permil) {
      let s = per.toFixed(1)
      if (per.toFixed(1).endsWith('0')) {
        return per.toFixed(0)
      }
      return s
    } else {
      return per.toFixed(0)
    }
  },
  // 获取UUID
  getUUID() {
    let s = []
    const hexDigits = "0123456789abcdef"
    for (var i = 0; i < 36; i++) {
      s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
    }
    s[14] = "4"
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
    s[8] = s[13] = s[18] = s[23] = "-"
    return s.join("")
  },
  // 获取 Url 参数
  getUrlParam(url, key) {
    let query = url.split("?")[1]
    let vars = query.split("&")
    for (let i = 0; i < vars.length; i++) {
      let pair = vars[i].split("=")
      if (pair[0] == key) {
        return pair[1]
      }
    }
    return ''
  },
  // 获取下一个半点时刻，例如：12:00 ， 12:30
  getNextTime(ms) {
    let time = new Date(ms)
    if (time.getMinutes() >= 30) {
      time.setHours(time.getHours() + 1)
      time.setMinutes(0)
    } else if (time.getMinutes() < 30) {
      time.setMinutes(30)
    }
    time.setSeconds(0)
    time.setMilliseconds(0)
    return time
  },
  // 获取日期描述
  getDateMemo(begin, close) {
    let full = parseInt(Math.abs((close - begin) / (1000 * 60 * 60 * 24)))
    let hour = parseInt(Math.abs((close - begin) % (1000 * 60 * 60 * 24) / (1000 * 60 * 60)))
    let minute = parseInt(Math.abs((close - begin) % (1000 * 60 * 60) / (1000 * 60)))
    if (minute > 0) {
      hour += 1
    }
    if (hour >= 24) {
      hour = 0
      full += 1
    }
    // if (hour > 0) {
    //   if (full > 0) {
    //     return `${full}天${hour}小时`
    //   } else {
    //     return `${hour}小时`
    //   }
    // } else {
    //   return `${full}天`
    // }
    if (hour > 0) {
      if (full > 0) {
        return `${full+1}天`
      } else {
        return `1天`
      }
    } else {
      return `${full}天`
    }
  },
  // 获取时间描述
  getHourMemo(hours) {
    let full = parseInt(hours / 24)
    let hour = parseInt(hours % 24)
    if (hour >= 24) {
      hour = 0
      full += 1
    }
    // if (hour > 0) {
    //   if (full > 0) {
    //     return `${full}天${hour}小时`
    //   } else {
    //     return `${hour}小时`
    //   }
    // } else {
    //   return `${full}天`
    // }
    if (hour > 0) {
      if (full > 0) {
        return `${full+1}天`
      } else {
        return `1天`
      }
    } else {
      return `${full}天`
    }
  },
  parseDatetime(str) {
    let timeArr = str.split(" ");
    let d = timeArr[0].split("-");
    let t = timeArr[1].split(":");
    return new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]);
  },
  
}